home *** CD-ROM | disk | FTP | other *** search
/ Mac Magazin/MacEasy 32 / Mac Magazin and MacEasy Magazine CD - Issue 32.iso / Grafik & Text / OzTeX3.0 / Metafont / Inputs / ec / excsc.mf < prev    next >
Text File  |  1997-03-16  |  4KB  |  123 lines

  1. % eccsc.mf
  2. %
  3. % (c) Copyright 1995, 1996, 1997 J"org Knappen
  4. % (c) Copyright 1990, 1992 Norbert Schwarz
  5. %
  6. % This file is part of ecfonts version 1.0
  7. %
  8. % Please read the files 00readme.txt, 00inst.txt, 00error.txt, and
  9. % copyrite.txt for further information
  10. %
  11. % You find some documentation in ecdoc.tex (needs LaTeX2e)
  12. %
  13. % Content:
  14. %
  15. %   driver file, called by parameter files for "caps and small caps" fonts
  16. %
  17.  
  18. %
  19. %     dx  r   l   west
  20. %         i   u   east
  21. %         :   :   :
  22. %         :   :   west '3xx / east '2xx
  23. %         :   uppercase/lowercase
  24. %         roman / italic
  25.  
  26. version_check(1,0);  % |version_check| was introduced in dc1.3
  27.  
  28. input exaccess;  % accessories for polish special letters
  29. input expseudo;  % pseudoparameters
  30. mode_setup; font_setup; pseudo_setup;
  31.  
  32. input exruwest;
  33. input exrueast;
  34. input exrulett;  % upper case (majuscules)
  35.  
  36. input exbraces;  % ^ ~ cwm  ( ) < | > [ ] \ { } _ - (177) space (040)
  37. input expunct;   %  < << > >>  ! ` ' *  + , . / = ; : (spanish !)
  38.  
  39. input exsign;    %  zero for mille, " # $ % @ pound sign
  40. %
  41. input exromp;    % (roman punctuation)  & ? (spanish ?)
  42. %
  43. input exrdigit;  % roman digits
  44. %
  45.  
  46. boolean is_small_cap; is_small_cap:=true;
  47. %%% fine higher
  48. % the `higher' values are used while putting accents and attaching ogoneks
  49. forsuffixes $=u,o,letter_fit,x_height,bar_height,body_height,stem:
  50.  higher.$.#:=$.#; higher.$:=$;
  51. endfor
  52.  
  53. %%% fine lower
  54. begingroup
  55. forsuffixes $= u, width_adj, cap_serif_fit, letter_fit,
  56.  body_height, cap_height, x_height, bar_height, comma_depth,
  57.  flare, dot_size, cap_hair, stem, cap_stem, cap_curve, cap_ess,
  58.  cap_jut, beak_jut, beak, slab, cap_bar, cap_band, cap_notch_cut,
  59.  o, apex_o: save $; $.#:=lower.$.#; endfor
  60. fudge:=lower.fudge;
  61.  
  62. % optional part:
  63. forsuffixes $ = depth_corr, left_corr, top_breadth_corr, tip_breadth_corr,
  64.   tip_xcorr, tip_ycorr, pre_angle, post_angle, pre_limit, post_limit,
  65.   pre_lightness, post_lightness, pre_deflexion, post_deflexion, cap_flat,
  66.   ogonek_pen#: if known lower.$: $:=lower.$; fi
  67. endfor
  68.  
  69. input expseudo;  % Recalculate pseudoparameters
  70.  
  71. font_setup; pseudo_setup;  % now try again with |lower| settings
  72.  
  73. input excspl;    % dotless i,j; letter ligatures  FF FI FL FFI FFL D-
  74.  
  75.  
  76. extra_endchar:=extra_endchar&"charcode:=charcode+code_offset";
  77. code_offset:=ASCII"a" - ASCII"A";
  78.  
  79. input exrulett;  % upper case (majuscules)
  80.  
  81. suppress_i_dot := true;
  82.  
  83. input exruwest;
  84. input exrueast;
  85.  
  86. code_offset:=0;
  87. input txpseudo; % Recalculate pseudoparameters for capital accents
  88. font_setup; pseudo_setup;
  89. input txaccent; % Accents for capital letters with small cap parameters
  90.  
  91. endgroup;
  92.  
  93.  
  94. % Fontparameter
  95. %
  96. font_coding_scheme:="Extended TeX Font Encoding - Latin";
  97. boundarychar:=oct"027";
  98. font_slant slant; 
  99. font_x_height x_height#;
  100. font_cap_height cap_height#;
  101. font_asc_height asc_height#;
  102. font_acc_cap_height (cap_height#+acc_height#);
  103. font_desc_depth desc_depth#;
  104. font_max_height (max(asc_height#,body_height#,
  105.   cap_height#+acc_height#));
  106. font_max_depth (max(desc_depth#,paren_depth#,the_ogonek_depth#));
  107. % font_digit_width % set inside the digits file
  108. % font_cap_stem    % set after the programme of the capital I
  109. font_baselineskip max(1.2*designsize,body_height#+paren_depth#);
  110.  
  111. if monospace: font_normal_space 9u#; % no stretching or shrinking
  112.  font_quad 18u#;
  113.  font_extra_space 9u#;
  114.  input exmligtb;   % do the monospace ligature programs
  115. else: font_normal_space 6u#+2letter_fit#;
  116.  font_normal_stretch 3u#; font_normal_shrink 2u#;
  117.  font_quad 18u#+4letter_fit#;
  118.  font_extra_space 2u#;
  119.  input excligtb;    % do the ligature programs, not for monospaced fonts
  120. fi
  121.  
  122. bye.
  123.